Today's Question:  What does your personal desk look like?        GIVE A SHOUT

SEARCH KEYWORD -- bitwise operation



  Market share of Android approaches 70% globally

According to Sina Tech, research firm Kantar Worldpanel's latest report shows that market share of Android phones exceeds 70% in UK, Germany, France, Italy and Spain from March to May, thus drives the global market share of Android close to 70% .The report shows that despite the popularity of smart phones in developed countries slows down, but Android continues its growth. During this period, market share of Android in Europe is 70.4% which is nearly 10% higher than the same period last year. Ap...

   Android,Market share,Europe     2013-07-01 08:21:56

  Java API vs Framework

What is the difference between a Java Library and a framework? The two concepts are essentially important for a Java developer. The most important difference between a library and a framework is Inversion of Control. It means that when you call a library you are in control. But with a framework, the control is inverted: the framework calls you. (This is called the Hollywood Principle: Don’t call Us, We’ll call You.) This is pretty much the definition of a framework. Basicall...

   Difference,API,Framework,Library,Java     2011-12-19 13:40:33

  Does CEO of a tech company need to know programming?

For tech startups, there are usually only a few people at their early stage. To complete all the coding work in a short period time, it often requires that every one of the team including the CEO knows something about programming so that they can help complete the tense work as soon as possible. But does the CEO of other tech companies also need to know programming? As the CEO of a company, it's not necessary that they have to know about programming. The main job of CEO is to coordinate all the ...

   CEO,Programming,Benefit     2013-07-01 05:39:26

  A Programming Idiom You've Never Heard Of

Here are some sequences of events: Take the rake out of the shed, use it to pile up the leaves in the backyard, then put the rake back in the shed. Fly to Seattle, see the sights, then fly home. Put the key in the door, open it, then take the key out of the door. Wake-up your phone, check the time, then put it back to sleep. See the pattern? You do something, then do something else, then you undo the first thing. Or more accurately, the last step is the inverse of the first. Once you're aware ...

   Programming,Idiom,Strange     2012-01-04 08:12:25

  How Query Optimizer Works in RDBMS

In a previous post, we discussed how the various relational operators are implemented in relational database systems. If you have read that post, you probably still remember that there are a few alternative implementations for every operator. Thus, how should RDBMS determine which algorithm (or implementation) to use? Obviously, to optimize the performance for any query, RDBMS has to select the correct the algorithm based on the query. It would not be desirable to always use the same algori...

   DATABASE,DATABASE DESIGN,DATABASE OPTIMIZATION     2019-04-20 07:26:32

  The hidden risk of passing slice as function parameter

In Go's source code or other open source libraries, there are lots of cases where a slice pointer is passed to function instead of slice itself. This brings up a doubt why not passing slice directly as its internal is backed by an array pointer to point to underlying data? For example, in log package, the formatHeader function takes a parameter buf as type *[]byte instead of []byte. func (l *Logger) formatHeader(buf *[]byte, t time.Time, file string, line int) {} Let's understand the r...

   GOLANG,SLICE,SLICE POINTER     2020-12-13 06:11:14

  Understand GoLang WaitGroup internals and how it works

Background Before getting into the main content, let me give a brief introduction to WaitGroup and its related background knowledge. Here, the focus is on the basic usage of WaitGroup and the fundamental knowledge of system semaphores. For those who are familiar with these, you can skip this section directly. WaitGroup WaitGroup is one of the most common concurrency control techniques in Golang, and its function can be roughly compared to the join() in concurrency control of other languages' mul...

   GOLANG,WAITGROUP,SOURCE CODE     2023-04-26 08:02:01

  How to monitor user behavior in webpage

Sometimes there is a need for website owners to monitor user behavior on the site so that they can know what pages are mostly visited and which parts are more popular so that they can provide better service to their users. These behavior usually contain user clicks, user mouse over events etc. These data can be sent back to server when triggered with some meta data. In this post, we will cover a few ways to monitor user behavior on a web portal and send data back to backend sever. 1. Synchronous...

   HTML,BEACON API,PING,USER BEHAVIOR     2019-06-29 06:06:59

  Let browser prompt for storing password when doing AJAX login

In Web 2.0 era, more and more web applications are using AJAX to replace the traditional HTML form element to perform user login. This usually provides a better user experience than form submission. But it also brings a side effect to the end users. That is the browser will not prompt the user whether s/he wants to save the password so that s/he no needs to enter the username/password again when visiting the same site next time. Below is the code snippet which does the AJAX login.  <scri...

   AJAX,Browser,Login,Password     2015-06-04 10:02:46

  Text editor vs IDE

A meaningless editor war Many people like to debate which editor is the best. The biggest controversy is between Emacs and vi. vi supporters like to say: "Look it's very fast to type in vi, our fingers no need to leave the keyboard, we even no need to use the up,down,left and right keys" Emacs supporters often downplayed this and said: "What's the use of typing fast if I just need to press one key and it equals to dozens keys you type in vi?"In fact, there is another group of people who like to ...

   Editor,IDE,Structured editor,vi     2013-05-20 12:03:39